import { defineStore } from 'pinia';

export const useProductStore = defineStore('product', {
	state: () => ({
		// 当前编辑的商品索引
		currentEditingIndex: -1,
		// 商品列表
		productList: [
			{
				productName: '',
				productPrice: null,
				limitNum: '',
				productStatus: 1,  // 1上架 0下架
				productSort: 1,  // 商品排序
				productDetail: {
					text: '',
					images: [],
					videos: []
				}
			}
		],
		// 当前编辑的商品描述
		currentDescription: {
			text: '',
			images: [],
			videos: []
		}
	}),

	actions: {
		// 重置商品数据
		resetProducts() {
			this.currentEditingIndex = -1;
			
			// 使用新数组完全替换productList，确保只有一个初始商品
			this.productList = [];
			
			// 添加一个空白的初始商品
			this.productList.push({
				productName: '',
				productPrice: null,
				limitNum: '',
				productStatus: 1,  // 1上架 0下架
				productSort: 1, 
				productDetail: {
					text: '',
					images: [],
					videos: []
				}
			});
			
			console.log('商品列表已重置为默认状态，当前商品数量:', this.productList.length);
			
			// 重置当前描述
			this.currentDescription = {
				text: '',
				images: [],
				videos: []
			};
		},
		
		// 设置商品索引
		setCurrentEditingIndex(index) {
			this.currentEditingIndex = index;
		},

		// 设置商品列表数据
		setProducts(productList) {
			this.productList = productList;
			console.log('商品列表已更新，当前商品数量:', this.productList);
		},

		// 更新描述
		setCurrentDescription(productDetail) {
			this.currentDescription = productDetail;
		},

		// 更新描述
		updateProductDescription(index, productDetail) {
			if (index >= 0 && index < this.productList.length) {
				this.productList[index].productDetail = productDetail;
			}
		},

		// 获取商品描述，处理结构
		getProductDescription(index) {
			if (index >= 0 && index < this.productList.length) {
				 return this.productList[index].productDetail;
			}

			return {
				text: '',
				images: [],
				videos: []
			};
		}
	}
});
